package services

import (
	"context"
	"errors"
	"strings"
	"wecom_rebot/core"
)

type SetTencentAdvCookies struct{}
type SetOeAdvCgCsrfToken struct{}
type SetTencentAdvGtK struct{}

func (s *SetTencentAdvCookies) Handle(content string) error {
	// 分割字符串
	parts := strings.Split(content, ":")

	// 检查是否存在第二个元素
	if len(parts) < 2 {
		return errors.New("没有检测到cookies")
	}

	// 设置缓存
	rdb := core.InitRedis(13)
	ctx := context.Background()

	err := rdb.Set(ctx, "laravel_database_tencent_adv_cookies", parts[1], 0).Err()
	if err != nil {
		return errors.New("设置腾讯cookies失败：" + err.Error())
	}
	return nil
}

func (s *SetTencentAdvGtK) Handle(content string) error {
	// 分割字符串
	parts := strings.Split(content, ":")

	// 检查是否存在第二个元素
	if len(parts) < 2 {
		return errors.New("没有检测到G-tk")
	}

	// 设置缓存
	rdb := core.InitRedis(13)
	ctx := context.Background()

	err := rdb.Set(ctx, "laravel_database_tencent_adv_g_tk", parts[1], 0).Err()
	if err != nil {
		return errors.New("设置腾讯G-tk失败：" + err.Error())
	}
	return nil
}

func (s *SetOeAdvCgCsrfToken) Handle(content string) error {
	// 分割字符串
	parts := strings.Split(content, ":")

	// 检查是否存在第二个元素
	if len(parts) < 2 {
		return errors.New("没有检测到token")
	}

	// 设置缓存
	rdb := core.InitRedis(13)
	ctx := context.Background()

	err := rdb.Set(ctx, "laravel_database_oead_adv_cg_csrf_token", parts[1], 0).Err()
	if err != nil {
		return errors.New("设置巨量token失败：" + err.Error())
	}
	return nil
}
